如何使用boto3在两个不同帐户的S3存储桶之间复制文件 |
您所在的位置:网站首页 › obj 文件 › 如何使用boto3在两个不同帐户的S3存储桶之间复制文件 |
匿名用户
CopyObject()命令可用于在存储桶之间复制对象,而无需上传/下载。基本上,两个S3存储桶相互通信并传输数据。 此命令还可以用于在不同区域和不同AWS帐户中的存储桶之间进行复制。 如果希望在属于不同AWS帐户的存储桶之间进行复制,则需要使用一组凭据,这些凭据具有: GetObject对源bucket的权限 PutObject对目标存储桶的权限另外,请注意,CopyObject()命令被发送到目标帐户。目标bucket有效地从源bucket中提取对象。 根据您的描述,您的代码将从另一个帐户获得对源存储桶的读取权限。不幸的是,这对于CopyObject()命令是不够的,因为该命令必须发送到目标存储桶。(是的,从文档中很难看出这一点。这就是为什么专门命名源bucket而不是目标bucket的原因。) 因此,在您的情况下,为了能够复制对象,您将需要使用一组来自Acent-B(目标)的凭据,该凭据也具有从Bucket-A(源)读取的权限。这将要求供应商修改与Bucket-A关联的Bucket策略。 如果他们不希望这样做,那么您唯一的选择就是使用假定的角色下载对象,然后使用您自己的Account-B中的凭据将文件单独上载到您自己的bucket中。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |